<#--
  DTO Import 语句生成
  
  自动收集并分类导入的类型：
  - Java 标准库
  - 第三方库
  - 项目内部类
  
  参数：
  - columns: 列定义列表
  - needList: 是否需要导入 List（一对多场景）
-->

<#-- 自动收集需要导入的类型并分类 -->
<#assign javaImports = []>
<#assign thirdPartyImports = []>
<#assign projectImports = []>

<#list columns as c>
  <#if c.javaType?? && c.javaType != "String" && c.javaType?contains(".")>
    <#if c.javaType?starts_with("java.") || c.javaType?starts_with("javax.")>
      <#assign javaImports = javaImports + [c.javaType]>
    <#elseif c.javaType?starts_with("com.kexio.")>
      <#assign projectImports = projectImports + [c.javaType]>
    <#else>
      <#assign thirdPartyImports = thirdPartyImports + [c.javaType]>
    </#if>
  </#if>
</#list>

<#-- 去重并排序 -->
<#assign javaImports = uniqueSort(javaImports)>
<#assign thirdPartyImports = uniqueSort(thirdPartyImports)>
<#assign projectImports = uniqueSort(projectImports)>

<#-- 输出 Java 标准库导入 -->
<#if javaImports?size gt 0>
<#list javaImports as importClass>
import ${importClass};
</#list>

</#if>
<#-- 如果需要 List，导入（一对多场景） -->
<#if needList!false>
import java.util.List;

</#if>
<#-- 输出第三方库导入 -->
<#if thirdPartyImports?size gt 0>
<#list thirdPartyImports as importClass>
import ${importClass};
</#list>

</#if>
<#-- 输出公共库导入 -->
import com.kexio.common.page.PageQuery;
import com.kexio.common.excel.annotation.ExcelField;
import com.kexio.common.excel.annotation.ExcelSheet;
<#-- 输出项目内部导入 -->
<#if projectImports?size gt 0>

<#list projectImports as importClass>
import ${importClass};
</#list>
</#if>

